第三章笔记

(1) 未初始化值会被赋予“undefined”这个值。

即便未初始化的变量会自动被赋予 undefined 值,但显式地初始化
变量依然是明智的选择。如果能够做到这一点,那么当 typeof 操作符
返回”undefined”值时,我们就知道被检测的变量还没有被声明,而不是
尚未初始化。

(2) null和object是一样的,用typeof是辨认不出的。

(3) object类似于java中的终极对象object,

JavaScript中所有对象都是在object复制而来。而终极对象object拥有很多性质。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
仅仅创建 Object 的实例并没有什么用处,但关键是要理解一个重要的思想:即在  
ECMAScript 中,(就像 Java 中的 java.lang.Object 对象一样)Object
类型是所有它的实例的基础。换句话说,Object 类型所具有的任何属性和方法也
同样存在于更具体的对象中。Object 的每个实例都具有下列属性和方法。
1 constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数
(constructor)就是 Object()。
2 hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而
不是在实例
的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例
如:o.hasOwnProperty("name"))。
3 isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型(第 5 章将讨论原
型)。
4 propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句
(本章后面将会讨论)来枚举。与 hasOwnProperty()方法一样,作为参数的属性名必须以字符
串形式指定。
5 toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
6 toString():返回对象的字符串表示。
7 valueOf():返回对象的字符串、数值或布尔值表示。通常与 toString()方法的返回值
相同。

(4) 小结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
也已经着手开始实现第 5 版了。以下简要总结了 ECMAScript 中基本的要素。  
1 ECMAScript 中的基本数据类型包括 Undefined、Null、Boolean、Number 和 String。
2 与其他语言不同,ECMScript 没有为整数和浮点数值分别定义不同的数据类型,Number 类型可
用于表示所有数值。
3 ECMAScript 中也有一种复杂的数据类型,即 Object 类型,该类型是这门语言中所有对象的基
础类型。
4 严格模式为这门语言中容易出错的地方施加了限制。
5 ECMAScript 提供了很多与 C 及其他类 C 语言中相同的基本操作符,包括算术操作符、布尔操作
符、关系操作符、相等操作符及赋值操作符等。
6 ECMAScript 从其他语言中借鉴了很多流控制语句,例如 if 语句、for 语句和 switch 语句等。
ECMAScript 中的函数与其他语言中的函数有诸多不同之处。
7 无须指定函数的返回值,因为任何 ECMAScript 函数都可以在任何时候返回任何值。
8 实际上,未指定返回值的函数返回的是一个特殊的 undefined 值。
9 ECMAScript 中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式
传递的。
10 可以向 ECMAScript 函数传递任意数量的参数,并且可以通过 arguments 对象来访问这些参数。
11 由于不存在函数签名的特性,ECMAScript 函数不能重载
鲍志强 wechat
欢迎你扫一扫上面的微信公众号,订阅我的博客!
你的点赞是为了你的未来